package com.hyt.it.ogt.kq.service.bm.model.vo;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.hyt.core.base.BaseEntity;
import com.hyt.core.validate.Insert;
import com.hyt.core.validate.Update;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import java.time.LocalDateTime;
import java.util.Map;

/**
 * 流程配置节点
 * 
 * @author wangt
 * @Description:
 * @date: 2021年1月20日 上午9:40:18
 * @version: V1.0
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@JsonIgnoreProperties(ignoreUnknown = true)
@ApiModel(value = "ProjectNodeVo拓展对象", description = "ProjectNodeVo拓展对象")
public class ProjectNodeVo extends BaseEntity {

	@ApiModelProperty(value = "项目id", hidden = true)
	private String projectId;

	@NotBlank(message = "节点类型不能为空", groups = {Insert.class, Update.class})
	@ApiModelProperty(value = "节点类型（1查看报名,2填写报名信息,3选择科目,4报名缴费, 11-报名须知，12-基本信息，13-报名科目，14-资格审核，15-缴费，16-打印准考证）")
	private String nodeType;

	@NotBlank(message = "节点序号不能为空", groups = {Insert.class, Update.class})
	@ApiModelProperty(value = "节点序号")
	private String nodeNumber;

	@NotBlank(message = "节点名称不能为空", groups = {Insert.class, Update.class})
	@ApiModelProperty(value = "节点名称")
	private String nodeName;

	@NotBlank(message = "节点顺序不能为空", groups = {Insert.class, Update.class})
	@ApiModelProperty(value = "节点：0：不添加，1：节点前，2：节点后")
	private String nodeOrder;

	@ApiModelProperty(value = "节点标题")
	private String nodeTitle;

	@ApiModelProperty(value = "文件内容")
	private String nodeContent;

	@ApiModelProperty(value = "确认按钮名称")
	private String buttonName;

	@NotBlank(message = "是否按钮定时不能为空", groups = {Insert.class, Update.class})
	@ApiModelProperty(value = "是否按钮定时（0：不定时，1：定时）")
	private String buttonIsTime = "0";

	@ApiModelProperty(value = "确认按钮定时")
	private String buttonTime;

	@ApiModelProperty(value = "开始时间")
	private LocalDateTime beginTime;

	@ApiModelProperty(value = "截止时间")
	private LocalDateTime endTime;

	@ApiModelProperty(value = "节点参数")
	private Map<String, Object> param;
}
